![]() ![]() |
Q: Why can't I link against my library named "MyLibrary" and/or am getting undefined symbols errors (for symbols I know are in library "MyLibrary") in Project Builder? A: Although the name of a particular library that an application links against does not matter at runtime on Mac OS X, the Mac OS X Development Tools provided by Apple do in fact identify libraries by their prefix and suffix. The development tools on Mac OS X expect static libraries to have names of the form "libMyLibrary.a" and dynamic libraries to have names of the form "lib MyLibrary.dylib". Not following this naming convention will cause builds to fail, because of the developer tools not finding the libraries or the symbols they contain. If you have a library that is already incorrectly named, you should change it. If you are changing the name of a library from an incorrect form to a correct form in Project Builder, don't forget to make sure that the library is listed in the "Frameworks and Libraries" build phase, since that is the phase where linking occurs.
[Dec 20 2001] |
Developer Documentation | Technical Notes | Development Kits | Sample Code |